﻿.container {
    overflow: hidden
}
.layer{height:100vh;width:100%}
.stroke {
    color: transparent;
    -webkit-text-stroke: 2px #c3c3c3;
    white-space: nowrap;
    letter-spacing: 6px;
    font-weight: bold;
    position: absolute;
    top: 20%;
    margin-left: 6.25%;
    line-height: 10;
    width: 100%;
}
.stroke_s {display:none;line-height:2}
.stroke .text1{height:135px}
.stroke .text2{height:190px}
.wrap {
    position: relative;
}
.muse {
    position: absolute;
    width:70%;
    max-width: 700px;
    max-height:70vh;
    top: 45%;
    transform: translate(-50%, -50%);
    left: 50%;
}
.text-box {
    position: sticky;
    height: 100vh;
    top: 0;
}
.widget-shape {
    background: #000;
    width: 93.75%;
    position: absolute;
    top: calc(100% - 110px );
    left: 6.25%;
}
.service {
    width: 87.5vw;
    color: rgba(255,255,255,.5);
    display: flex;
    justify-content: space-around;
    padding:0 50px;
    flex-wrap:wrap
}
.service-item{cursor:pointer;width:25%;padding:47px 0 15px 6%}
.service-item:hover{color:#fff}
.service-item .service-content {
    font-size: 1rem;
    padding-top: 15px;
    position: relative;
    white-space: nowrap;
    overflow: hidden;
    height:0;
    opacity: 0;
    transform: translate3d(25px,0,0);
    transition: transform 1.2s cubic-bezier(.14,1,.34,1),opacity .4s cubic-bezier(.215,.61,.355,1),height .6s cubic-bezier(.23,1,.32,1);
    transition-delay:.03s
}
.service-item:hover .service-content {
    opacity: 1;
    transform: translateZ(0);
    height:75px
}
.service-main{padding-bottom:25px;position:relative}
.service-item:hover .service-main::after {
    opacity: 1;
    transform: translateZ(0);
}
.service-main::after{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
}
.service-main::after {
    top: auto;
    bottom: 0;
    width: 27px;
    opacity: 0;
    transform: translate3d(25px,0,0);
    transition: transform 1.2s cubic-bezier(.14,1,.34,1),opacity .4s cubic-bezier(.215,.61,.355,1);
}
.service .ch-con{font-size:1.4rem;}
.service .eng-con {
    font-size: 12px;
    opacity: 0;
    transform: translateY(20px);
    transition: transform .6s cubic-bezier(.23,1,.32,1),-webkit-transform .6s cubic-bezier(.23,1,.32,1),-o-transform .6s cubic-bezier(.23,1,.32,1);
}
.service .eng-con.fade-in{opacity:1;transform: translateY(0);}
.part {
    padding: 0 6.25%;
    margin-top: 100px;
}
.part .part-title {
    font-size: 7rem;
    line-height: 1.15;
}
.case{margin-top:20rem}
.case-show, .company {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}
.part-box{width:49%;margin-top:50px;position:relative;overflow:hidden}
.part-box img {
    width: 100%;
    transition: transform .6s cubic-bezier(.23,1,.32,1),-webkit-transform .6s cubic-bezier(.23,1,.32,1),-o-transform .6s cubic-bezier(.23,1,.32,1);
}
.part-box .case-box-img{overflow:hidden;line-height:0}
.case-show .part-box:hover .case-content, .case-show .part-box:hover .case-title, .case-show .part-box:hover .case-content>p {
    transform: translateZ(0);
    opacity:1
}
.case-content {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: rgba(255,255,255,.9);
    left: 0;
    padding: 20px 25px;
    transform: translate3d(0,101%,0);
    transition: transform .6s cubic-bezier(.14,1,.34,1),opacity .4s cubic-bezier(.215,.61,.355,1);
}
.case-title, .case-content > p {
    opacity: 0;
    transform: translate3d(25px,0,0);
    transition: transform .8s cubic-bezier(.14,1,.34,1),opacity .4s cubic-bezier(.215,.61,.355,1);
}
.case-title {
    font-size: 1.75rem;
    transition-delay: .2s;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
 .case-content > p {transition-delay:.2s}
.partner {
    position: relative;
    padding: 0 6.25%;
    margin-top: 11rem;
}
.partner_s{display:none}
.partner > div {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin-bottom: 50px;
}
.down-line {
    position: relative;
    width: 60px;
    z-index: 10;
    height: 2px;
    border-radius: 10px;
    background: rgba(0,0,0,.3);
    overflow: hidden;
    display:inline-block;
    vertical-align:middle;
}
.down-line::after {
    content:"";
    position: absolute;
    display: inline-block;
    height: 2px;
    width: 35px;
    background: #000;
    animation: arrow 1.5s ease-in-out infinite;
}
@keyframes arrow{
    0% {
        transform: translateX(-100%);
        -webkit-transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
        -webkit-transform: translateX(100%);
    }
}
.arrow-down {
    transform: rotate(90deg);
    position: absolute;
    transform-origin: left;
    left: 3%;
    bottom:8rem;
    overflow:hidden;
}
.scroll {
    font-size: .8rem;
    vertical-align: middle;
}
.thank{font-size:25px;margin-bottom:30px}
.arrow-line {
    height: 4px;
    width: 40px;
    transform-origin: center;
    top: 50%;
    left: 50%;
    position: absolute;
    background: #858585;
    margin-left: -20px;
    margin-top: -4px;
    border-radius: 3px;
    transform: rotate( -45deg);
}
.arrow-right {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-top: 4px solid;
    border-right: 4px solid;
}
.partner-box .detail {
    position: absolute;
    top: 3vw;
    right: 3vw;
    cursor:pointer
}
.part strong{font-size:2.35rem}
.com-idea-ch {
    margin-top: 50px;
    margin-bottom: 10px;
    line-height: 2;
    font-size:1.4rem;font-weight:bold
}
.com-idea-eng{font-size:1rem;line-height:2}
.partner-wrap {
    padding: 30px 0;
    position:relative
}
.partner-wrap > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.playBtn {
    position: absolute;
    height: 90px;
    width: 90px;
    top: 50%;
    left: 50%;
    margin-top: -45px;
    margin-left: -45px;
    cursor: pointer;
}
.play-bg {
    height: 100%;
    width: 100%;
    background: #fff;
    border-radius: 50%;
    transition: transform .8s cubic-bezier(.23,1,.32,1);
}
.triangle {
    position: absolute;
    border-left: 26px solid #000;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
    top: 50%;
    left: 50%;
    margin-top: -15px;
    margin-left: -8px;
}
.playBtn:hover .play-bg{
    transform:scale(1.15)
}

@media screen and (max-width:1080px) {
    .company .part-box{width:100%}
    .partner_s{display:block}
    .partner_m{display:none;}
    .part-box{width:100%;margin-top:30px}
    .partner_s img{width:5rem}
    .case-show .part-box .case-content, .case-show .part-box .case-title, .case-show .part-box .case-content > p {
        transform: translateZ(0);
        opacity: 1;
    }
    .service-item{width:50%;text-align:center;padding-top:15px}
    .service-item .service-content{display:none}
    .service-main::after{display:none}
    .service-main{padding-bottom:0}
    .widget-shape{top:auto;bottom:0}
}
@media screen and (max-width:600px) {
    .stroke_s {display:block}
    .stroke_m {display:none}
    .text-box .stroke_s img{height:80px}
    .part .part-title{font-size:4rem}
    .service{padding:18px 50px;width:100%}
    .arrow-down{display:none}
    .text-box{height:90vh}
    .layer{height:85vh !important}
    .case{margin-top:10rem}
    .case-content {
        padding: 10px 15px;
    }
    .case-title{font-size:1.5rem}
    .com-idea-eng{font-size:.75rem}
}